import { ElMessage } from "element-plus";
import http from "@/http/index"; // 导入你的Axios实例

// 图片上传前的校验
export const beforeImageUpload = (file: File): boolean => {
  // 校验格式
  const isJpgOrPng = file.type === "image/jpeg" || file.type === "image/png";
  if (!isJpgOrPng) {
    ElMessage.error("请上传JPG/PNG格式的图片");
    return false;
  }

  // 校验大小（不超过2MB）
  const isLt2M = file.size / 1024 / 1024 < 2;
  if (!isLt2M) {
    ElMessage.error("图片大小不能超过2MB");
    return false;
  }

  return true;
};

// 执行图片上传并返回完整URL
export const uploadImage = async (file: File): Promise<string> => {
  try {
    // 调用上传接口
    const result = await http.uploadImages(file);
    result.data = result;
    // 拼接完整访问URL（根据后端配置的静态资源路径）
    const imageUrl = `http://localhost:5000/images/${result.data.fileName}`;

    ElMessage.success("图片上传成功");
    return imageUrl;
  } catch (error) {
    console.error("图片上传失败:", error);
    ElMessage.error("图片上传失败，请重试");
    throw error; // 抛出错误让调用者处理
  }
};
